#include "NamedPipe.hpp"

// server read: 管理命名管道的整个生命周期
int main()
{
    NamedPipe fifo(comm_path, Creater);
    // 对于读端，如果我们打开文件，但是写还没来，我会阻塞在open调用中，直到对方打开
    // 进程同步
    if (fifo.OpenForRead())
    {
        cout << "server open namedpipe done" << endl;
        sleep(3);
        while (true)
        {
            string message;
            int n = fifo.ReadNamedPipe(&message);
            if (n > 0)
            {
                cout << "Client Say: " << message << endl;
            }
            else if (n == 0)
            {
                cout << "Client quit , Server Too !" << endl;
                break;
            }
            else
            {
                cout << "fifo.ReadNamedPipe Error" << endl;
                break;
            }
        }
    }

    return 0;
}